home *** CD-ROM | disk | FTP | other *** search
- /*
- File: SamplePartUtils.h
-
- Contains: SamplePart utility functions & classes
-
- Written by: Steve Smith
-
- Copyright: © 1994,95 by Apple Computer, Inc., all rights reserved.
- */
-
-
- #ifndef _SAMPLEPARTUTILS_
- #define _SAMPLEPARTUTILS_
-
- // --- OpenDoc Includes ---
-
- #ifndef _ODTYPES_
- #include <ODTypes.h>
- #endif
-
- #ifndef SOM_ODFacet_h
- #include <Facet.h>
- #endif
-
- #ifndef SOM_ODShape_h
- #include <Shape.h>
- #endif
-
- #ifndef SOM_ODStorageUnitView_h
- #include <SUView.h>
- #endif
-
- #ifndef SOM_ODValueNameSpace_h
- #include <ValueNS.h>
- #endif
-
- #ifndef SOM_ODWindow_h
- #include <Window.h>
- #endif
-
- // --- OpenDoc Utilities ---
-
- #ifndef _ITEXT_
- #include <IText.h>
- #endif
-
- // --- Macintosh Includes ---
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
-
- //------------------------------------------------------------------------------
- // Utility Class Typedefs
- //------------------------------------------------------------------------------
-
- struct CLink {
- ODPtr content;
- struct CLink* prev;
- struct CLink* next;
- };
-
- typedef struct CLink CLink, *CLinkedList;
-
-
- typedef struct CFrameProxy {
- ODFrame* fFrame;
- ODID fID;
- ODDraft* fDraft;
- } CFrameProxy;
-
- typedef struct CFrameInfo {
- ODSession* fSession;
- ODBoolean fFrameActive;
- ODBoolean fFrameReactivate;
- ODBoolean fShouldDisposeWindow;
- ODFacet* fActiveFacet;
- CFrameProxy* fSourceFrame;
- CFrameProxy* fDependentFrame;
- ODID fPartWindowID;
- } CFrameInfo;
-
-
- //------------------------------------------------------------------------------
- // Function Prototypes
- //------------------------------------------------------------------------------
-
- ODBoolean NamesAreEquivalent(Environment* ev, ODIText* fileName,
- ODIText* partName);
- ODIText* GetPartName(Environment* ev, ODPart* part, ODType category);
- void GetEditorScriptLanguage(Environment* ev, ODScriptCode* script,
- ODLangCode* language);
- ODBoolean ValueNameSpaceGetODName(ODValueNameSpace* ns,
- Environment* ev,
- ODISOStr key,
- ODName** value);
- ODBoolean GetUserCatFromCat(ODNameSpaceManager* theNmSpcMgr,
- ODType category, ODIText** name);
-
- void FixedToIntRect(ODRect* fixedRect, Rect* intRect);
- void IntToFixedRect(Rect* intRect, ODRect* fixedRect);
- void LoadThumbnail(Environment* ev, Handle* thumbnail);
- Rect TilePartWindow(Environment* ev, Rect* facetBounds,
- Rect* partWindowBounds);
- ODUShort CountFramesFacets(Environment* ev, ODFrame* frame);
-
- // Replacements for functions from StorUtil.cpp
-
- ODULong StorageUnitGetValue_C(ODStorageUnit* su,
- Environment* ev,
- ODULong size,
- ODPtr buffer);
- void StorageUnitSetValue_C(ODStorageUnit* su,
- Environment* ev,
- ODULong size,
- const void *buffer);
- //void SURemoveProperty(Environment* ev, ODStorageUnit* su, ODPropertyName prop);
- //ODBoolean SUExistsThenFocus(Environment* ev,
- // ODStorageUnit* su, ODPropertyName prop, ODValueType val);
-
- // Replacements for overloaded functions from ODUtils.cpp
-
- ODPart* ODAcquirePartFromFrame( Environment*, ODFrame* );
- ODPart* ODAcquirePartFromFacet( Environment*, ODFacet* );
-
- ODDraft* ODGetDraftFromPart( Environment*, ODPart* );
- ODDraft* ODGetDraftFromSU( Environment*, ODStorageUnit* );
-
- ODSession* ODGetSessionFromPart( Environment*, ODPart* );
- ODShape* CopyAndRelease( Environment *ev, ODShape *s );
-
- #define ODDeleteObject_C(OBJ) \
- if( !(OBJ) ) ; else { SOMObject_somFree(OBJ); (OBJ)=kODNULL; }
-
- //------------------------------------------------------------------------------
- // Internal Part Maintenance Prototypes
- //------------------------------------------------------------------------------
-
- CLinkedList CLinkedList_Create();
- void CLinkedList_Delete(CLinkedList list);
- void CLinkedList_Add(CLinkedList list, ODPtr content);
- void CLinkedList_Remove(CLinkedList list, ODPtr content);
- CLink* CLinkedList_First(CLinkedList list);
- ODBoolean CLinkedList_Contains(CLinkedList list, ODPtr content);
- ODUShort CLinkedList_Count(CLinkedList list);
-
- ODPtr CLink_Content(CLink* link);
- CLink* CLink_Next(CLink* link);
-
- CFrameProxy* CFrameProxy_Create();
- void CFrameProxy_Delete(CFrameProxy** fp, Environment* ev);
- void CFrameProxy_InitFrameProxyWithID(CFrameProxy* fp, ODID frameID, ODDraft* draft);
- void CFrameProxy_InitFrameProxyWithFrame(CFrameProxy* fp, Environment* ev, ODFrame* frame);
- void CFrameProxy_Purge(CFrameProxy* fp, Environment* ev);
- ODFrame* CFrameProxy_GetFrame(CFrameProxy* fp, Environment* ev);
- void CFrameProxy_SetFrame(CFrameProxy* fp, Environment* ev, ODFrame* frame);
- ODBoolean CFrameProxy_FrameIsLoaded(CFrameProxy* fp, Environment* ev);
- ODID CFrameProxy_GetID(CFrameProxy* fp );
- ODDraft* CFrameProxy_GetDraft(CFrameProxy* fp);
-
- CFrameInfo* CFrameInfo_Create(ODSession* session);
- void CFrameInfo_Delete(CFrameInfo** fi, Environment* ev);
- void CFrameInfo_Externalize(CFrameInfo* fi, Environment* ev,
- ODStorageUnitView* storageUnitView);
- void CFrameInfo_CleanseFrameInfoProperty(CFrameInfo* fi, Environment* ev,
- ODStorageUnit* storageUnit);
- void CFrameInfo_ExternalizeFrameInfo(CFrameInfo* fi, Environment* ev,
- ODStorageUnit* storageUnit,
- ODDraftKey key, ODFrame* scopeFrame);
- void CFrameInfo_CloneInto(CFrameInfo* fi, Environment *ev, ODDraftKey key,
- ODStorageUnitView* storageUnitView,
- ODFrame* scopeFrame);
- void CFrameInfo_InitFromStorage(CFrameInfo* fi, Environment* ev,
- ODStorageUnitView* storageUnitView);
- ODBoolean CFrameInfo_IsFrameActive(CFrameInfo* fi);
- void CFrameInfo_SetFrameActive(CFrameInfo* fi, ODBoolean active);
- ODBoolean CFrameInfo_FrameNeedsReactivating(CFrameInfo* fi);
- void CFrameInfo_SetFrameReactivate(CFrameInfo* fi, ODBoolean reactivate);
- ODFacet* CFrameInfo_GetActiveFacet(CFrameInfo* fi);
- void CFrameInfo_SetActiveFacet(CFrameInfo* fi, ODFacet* facet);
- void CFrameInfo_SetSourceFrame(CFrameInfo* fi, Environment* ev,
- ODFrame* sourceFrame);
- ODFrame* CFrameInfo_GetSourceFrame(CFrameInfo* fi, Environment* ev);
- void CFrameInfo_ReleaseSourceFrame(CFrameInfo* fi, Environment* ev);
- ODBoolean CFrameInfo_HasSourceFrame(CFrameInfo* fi);
- ODWindow* CFrameInfo_AcquirePartWindow(CFrameInfo* fi, Environment* ev);
- void CFrameInfo_SetPartWindow(CFrameInfo* fi, Environment* ev, ODWindow* window);
- void CFrameInfo_SetDependentFrame(CFrameInfo* fi, Environment* ev, ODFrame* frame);
- ODFrame* CFrameInfo_GetDependentFrame(CFrameInfo* fi, Environment* ev);
- ODBoolean CFrameInfo_HasDependentFrame(CFrameInfo* fi);
- void CFrameInfo_ReleaseDependentFrame(CFrameInfo* fi, Environment* ev);
- void CFrameInfo_SetShouldDisposeWindow(CFrameInfo* fi, ODBoolean should);
- ODBoolean CFrameInfo_ShouldDisposeWindow(CFrameInfo* fi);
-
- #endif
-
-